home *** CD-ROM | disk | FTP | other *** search
- /*
- * @(#)builtins.h 1.5 3/16/88
- */
- #ifndef builtins_h
- #define builtins_h
-
- #define NUMBUILTINS 24
- #define BUILTINOBJECTBASE ((OID) 0xff000000)
- #define ATOFBUILTINOBJECTBASE ((OID) 0xff000020)
- #define CTOFBUILTINOBJECTBASE ((OID) 0xff000040)
- #define INSTATOFBUILTINOBJECTBASE ((OID) 0xff000060)
- #define INSTCTOFBUILTINOBJECTBASE ((OID) 0xff000080)
-
- #define ABSTRACTTYPEINDEX 0
- #define ANYINDEX 1
- #define ARRAYINDEX 2
- #define BOOLEANINDEX 3
- #define CHARACTERINDEX 4
- #define CONDITIONINDEX 5
- #define INTEGERINDEX 6
- #define NILINDEX 7
- #define NODEINDEX 8
- #define SIGNATUREINDEX 9
- #define REALINDEX 10
- #define STRINGINDEX 11
- #define VECTORINDEX 12
- #define TIMEINDEX 13
- #define NODELISTELEMENTINDEX 14
- #define NODELISTINDEX 15
- #define INSTREAMINDEX 16
- #define OUTSTREAMINDEX 17
- #define IMMUTABLEVECTORINDEX 18
- #define BITCHUNKINDEX 19
- #define RISCINDEX 20
- #define HANDLERINDEX 21
- #define VECTOROFCHARINDEX 22
- #define BUFFERINDEX 23
-
- extern struct sNode *findInstCode();
- extern void loadBuiltins();
- extern int loadedDummyBuiltins;
- extern char *builtinTypeNames[];
-
- typedef enum { B_IT, B_ITSAT, B_ITSCT, B_INSTAT, B_INSTCT } B_Tag;
- extern struct sNode *refToBuiltin(), *refToBuiltinFromToken();
- #define OIDOfBuiltin(tag, index) \
- ((OID) 0xff000000 + ((unsigned) tag * 0x20) + (unsigned) index)
- #endif
-